package io;

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;

/**
 * 文件复制：将一个文件中的数据读出来，然后写入到另一个文件中
 */
public class CopyDemo {
    public static void main(String[] args) throws IOException {
        /*
        test.jpg图片数据：
        11001001 01110011 10101001 11100011 ...
        第一次调用： d =fis.read():
        11001001 01110011 10101001 11100011 ...
        读取的字节

        第一次写入：fos.write(d):将d对应的二进制低八位写入到文件Sprite-02.png
        d: 00000000 00000000 00000000 11001001

        test1.jpg的内容:
        11001001
        以此类推，直至 Sprite-01.png图片数据被完全读写完
         */
        FileInputStream fis = new FileInputStream("明日香.jpg");
        FileOutputStream fos = new FileOutputStream("明日香2.jpg");

        long start =System.currentTimeMillis();//自1970年1月1日0时到此时此刻的毫秒数
        int d;//记录每次读取到的字节
        while ((d=fis.read())!=-1){//每次循环读取1个字节到d中，判断若不是-1，表示没有读取末尾
            fos.write(d);//将读出来的字节写入到要复制的文件中
        }
        long end = System.currentTimeMillis();
        System.out.println("复制完毕,耗时："+(end-start)+"毫秒");//400毫秒
        fis.close();
        fos.close();
    }
}
